home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 February / EnigmA AMIGA RUN 15 (1997)(G.R. Edizioni)(IT)[!][issue 1997-02][PLANET CD V].iso / progs / editor / frexxed / fpl / frexxtool.fpl < prev    next >
Text File  |  1995-07-18  |  2KB  |  68 lines

  1. string frexxtools;
  2. int nothingmore;
  3.  
  4. export int MakeYourOwnMenuHook(int title_no, int item_no, int sub_no)
  5. {
  6.   string type, str, program, key;
  7.   MenuRead(&type, &str, &program, &key, title_no, item_no, sub_no);
  8.   if(Request( "Add \"" + str + "\" to the toolbox?"))
  9.     frexxtools += str + ":" + program + "\n";
  10.   return 1;
  11. }
  12.  
  13. export int MakeYourOwnShutOff(int what)
  14. {
  15.   if(strlen(frexxtools)) {
  16.     string filename = PromptFile("FrexxEd:FrexxTool.setup");
  17.   
  18.     if(strlen(filename)) {
  19.       string command = sprintf("run FrexxEd:bin/FrexxTool SETUP \"%s\"", filename);
  20.       SetInfo(-1, "_toolbox", command);
  21.       SaveString(filename, frexxtools);
  22.       Request("Your menu selections are now stored in the specified\n"
  23.               "file and FrexxTool is about to get started using that.\n"
  24.               "Each time you run this FPL program, the toolbox will get\n"
  25.               "started like this. Read further in the FrexxTool manual\n"
  26.               "to get to know how to customize it even more.", "", "OK!");
  27.  
  28.       /*
  29.        * We use an ExecuteLater() here simply to make it easier for the
  30.        * program! Since FrexxTool will call our ARexx port to find our
  31.        * screen, we can just as well finish our function first!
  32.        */
  33.       ExecuteLater("System(ReadInfo(\"_toolbox\"));");
  34.       return 1; /* prevent the actual backspace! */
  35.     }
  36.   }
  37.   else {
  38.     if(!Request("No buttons added!", "", "Continue|Cancel")) {
  39.       /* we should cancel the operation! */
  40.       SetInfo(-1, "_toolbox", "-"); /* dummy string */
  41.     }
  42.   }
  43. }
  44.  
  45. Hook("MenuSelect", "MakeYourOwnMenuHook", "!_toolbox");
  46. Hook("Backspace", "MakeYourOwnShutOff", "!_toolbox");
  47.  
  48. ConstructInfo("_toolbox", "", "", "WGHS", "", 0, 0, "");
  49.  
  50. /*
  51.  * If the '_toolbox' variable has been saved previously, it will contain a
  52.  * real string by now!
  53.  */
  54. {
  55.   string tools;
  56.   tools = ReadInfo("_toolbox");
  57.   if(!strlen(tools)) {
  58.     Request("Select the menu items you would like to\n"
  59.             "have included in your personal toolbox.\n"
  60.             "When you're done, press backspace!", "Select!", "OK!");
  61.     frexxtools="";
  62.   }
  63.   else {
  64.     System(tools);
  65.   }
  66. }
  67.  
  68.